package cn.lg.soar.boot.fc.entity;

import cn.lg.soar.core.annotations.constraints.group.*;
import cn.lg.soar.database.query.annotations.*;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.*;
import io.swagger.annotations.*;
import lombok.Data;
import java.io.Serializable;
import java.time.*;
import javax.validation.constraints.*;

import cn.lg.soar.database.base.entity.BaseEntity;

/**
 * 承租人管理表
 * @author BoBo
 * @since 2025-02-05
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
@Data
@ApiModel(value = "Lesseemanage", description = "承租人管理表")
@TableName("fc_lesseemanage")
public class Lesseemanage extends BaseEntity {

    /**  */
    @NotNull(message = "主键不能为空", groups = { Update.class })
    @ExcelIgnore
    @ApiModelProperty(value = "主键")
    @TableId
    private Long id;

    /** 租户类型 */
    @ExcelProperty(value = "租户类型")
    @ApiModelProperty(value = "租户类型")
    private Integer tenanttype;

    /** 承租人类型 */
    @ExcelProperty(value = "承租人类型")
    @ApiModelProperty(value = "承租人类型")
    private Integer lesseetype;

    /** 承租方名称 */
    @ExcelProperty(value = "承租方名称")
    @ApiModelProperty(value = "承租方名称")
    private String tenantryname;

    /** 联系方式 */
    @ExcelProperty(value = "联系方式")
    @ApiModelProperty(value = "联系方式")
    private String phonenumber;

    /** 证件类型类型 1居民身份证 2护照 3港澳居民来往内地通行证 4台湾居民来往大陆通行证 */
    @ExcelProperty(value = "证件类型类型 1居民身份证 2护照 3港澳居民来往内地通行证 4台湾居民来往大陆通行证")
    @ApiModelProperty(value = "证件类型类型 1居民身份证 2护照 3港澳居民来往内地通行证 4台湾居民来往大陆通行证")
    private Integer idtype;

    /** 证件号 */
    @ExcelProperty(value = "证件号")
    @ApiModelProperty(value = "证件号")
    private String idcard;

    /** 营业执照号码 */
    @ExcelProperty(value = "营业执照号码")
    @ApiModelProperty(value = "营业执照号码")
    private String licensenumber;

    /** 法人姓名 */
    @ExcelProperty(value = "法人姓名")
    @ApiModelProperty(value = "法人姓名")
    private String legalrname;

    /** 法人身份证号 */
    @ExcelProperty(value = "法人身份证号")
    @ApiModelProperty(value = "法人身份证号")
    private String legalidcard;

    /** 排序 */
    @NotNull(message = "排序不能为空", groups = { Create.class, Update.class })
    @ExcelProperty(value = "排序")
    @ApiModelProperty(value = "排序")
    private Integer ordes;

    /** 扩展字段1 */
    @ExcelProperty(value = "扩展字段1")
    @ApiModelProperty(value = "扩展字段1")
    private String extend1;

    /** 扩展字段 */
    @ExcelProperty(value = "扩展字段")
    @ApiModelProperty(value = "扩展字段")
    private String extend2;

    /** 扩展字段 */
    @ExcelProperty(value = "扩展字段")
    @ApiModelProperty(value = "扩展字段")
    private String extend3;

    /** 乐观锁 */
    @NotNull(message = "乐观锁不能为空", groups = { Create.class, Update.class })
    @ExcelProperty(value = "乐观锁")
    @ApiModelProperty(value = "乐观锁")
    private Integer version;

    @JsonIgnore
    @Override
    public Long primaryKey() {
        return this.id;
    }

}
